home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 3006 / 3006.xpi / chrome / dwhelper.jar / content / conv-rule.xml < prev    next >
Extensible Markup Language  |  2010-01-15  |  17KB  |  642 lines

  1. <?xml version="1.0"?>
  2. <!-- *****************************************************************************
  3.  *            Copyright (c) 2006-2009 Michel Gutierrez. All Rights Reserved.
  4.  ****************************************************************************** -->
  5. <!DOCTYPE bindings SYSTEM "chrome://dwhelper/locale/dwhelper.dtd" >
  6.  
  7. <bindings xmlns="http://www.mozilla.org/xbl"
  8.     xmlns:xul="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
  9.     xmlns:html="http://www.w3.org/1999/xhtml"
  10.     xmlns:xbl="http://www.mozilla.org/xbl">
  11.  
  12.     <binding id="ConvRule" extends="widgets.xml#widget">
  13.  
  14.         <xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  15.         
  16.             <vbox>
  17.                 <ConvRuleActionWidget anonid="xAction"/>
  18.                 <groupbox>
  19.                     <caption label="&caption.conv-rule.input;"/>
  20.                     <hbox align="center">
  21.                         <label value="&label.conv-rule.files-with-ext;"/>
  22.                         <ConvRuleInFileWidget anonid="xInfile"/>
  23.                     </hbox>
  24.                     <hbox align="center">
  25.                         <label value="&label.conv-rule.from-site;"/>
  26.                         <ConvRuleInSiteWidget anonid="xInsite"/>
  27.                     </hbox>
  28.                 </groupbox>
  29.                 <groupbox anonid="xOutputBox">
  30.                     <caption label="&caption.conv-rule.output;"/>
  31.                     <VideoFormatPanel anonid="xOutformat"/>                    
  32.                     <!-- ConvRuleOutputDirWidget anonid="xOutdir"/ -->
  33.                 </groupbox>
  34.             </vbox>
  35.             
  36.             <children style="display: none;"/>
  37.         </xbl:content>
  38.  
  39.         <implementation>
  40.  
  41.             <constructor>
  42.                 <![CDATA[
  43.                 ]]>
  44.             </constructor>
  45.  
  46.             <method name="updateAction">
  47.                 <parameter name="action"/>
  48.                 <body>
  49.                 <![CDATA[
  50. if(action=="0") {
  51.     this.xOutputBox.setAttribute("hidden","true");
  52. } else {
  53.     this.xOutputBox.setAttribute("hidden","false");
  54. }
  55. window.sizeToContent();
  56.                 ]]>
  57.                 </body>
  58.             </method>
  59.  
  60.             <method name="setData">
  61.                 <parameter name="datasource"/>
  62.                 <parameter name="ref"/>
  63.                 <body>
  64.                 <![CDATA[
  65. this.datasource=datasource;
  66. this.ref=ref;
  67. var action=this.util.getPropertyValueSS(datasource,ref,"http://downloadhelper.net/1.0#action");
  68. this.updateAction(action);
  69. this.xAction.setAttribute("value",action);
  70. var insite=this.util.getPropertyValueSS(datasource,ref,"http://downloadhelper.net/1.0#insite");
  71. this.xInsite.setAttribute("value",insite);
  72. var infile=this.util.getPropertyValueSS(datasource,ref,"http://downloadhelper.net/1.0#infile");
  73. this.xInfile.setAttribute("value",infile);
  74. var outformat=this.util.getPropertyValueSS(datasource,ref,"http://downloadhelper.net/1.0#outformat");
  75. this.xOutformat.value=outformat;
  76. /*
  77. var outdir=this.util.getPropertyValueSS(datasource,ref,"http://downloadhelper.net/1.0#outdir");
  78. this.xOutdir.setAttribute("value",outdir);
  79. */
  80.                 ]]>
  81.                 </body>
  82.             </method>
  83.                         
  84.             <method name="saveData">
  85.                 <body>
  86.                 <![CDATA[
  87. this.util.setPropertyValueSS(this.datasource,this.ref,
  88.     "http://downloadhelper.net/1.0#action",this.xAction.getAttribute("value"));
  89. this.util.setPropertyValueSS(this.datasource,this.ref,
  90.     "http://downloadhelper.net/1.0#insite",this.xInsite.getAttribute("value"));
  91. this.util.setPropertyValueSS(this.datasource,this.ref,
  92.     "http://downloadhelper.net/1.0#infile",this.xInfile.getAttribute("value"));
  93. this.util.setPropertyValueSS(this.datasource,this.ref,
  94.     "http://downloadhelper.net/1.0#outformat",this.xOutformat.value);
  95. /*
  96. this.util.setPropertyValueSS(this.datasource,this.ref,
  97.     "http://downloadhelper.net/1.0#outdir",this.xOutdir.getAttribute("value"));
  98. */
  99.  
  100. var label=this.convertMgr.makeLabel(this.datasource,this.ref);
  101.  
  102. this.util.setPropertyValueSS(this.datasource,this.ref,
  103.     "http://downloadhelper.net/1.0#label",label);
  104.  
  105. //this.util.dumpDatasource(this.datasource);
  106.                 ]]>
  107.                 </body>
  108.             </method>
  109.             
  110.             <method name="isValid">
  111.                 <body>
  112.                 <![CDATA[
  113. return this.xOutformat.isValid();
  114.                 ]]>
  115.                 </body>
  116.             </method>
  117.  
  118.                         
  119.         </implementation>
  120.         <handlers>
  121.             <handler event="ConvRuleActionChange">
  122.                 <![CDATA[
  123. this.updateAction(this.xAction.getAttribute("value"));
  124.                 ]]>
  125.             </handler>
  126.  
  127.         </handlers>
  128.                 
  129.     </binding>
  130.  
  131.     <binding id="ConvRuleActionWidget" extends="widgets.xml#widget">
  132.  
  133.         <xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  134.             <menulist xbl:inherits="value" flex="1" anonid="xMenuList">
  135.                 <menupopup>
  136.                     <menuitem value="1" label="&label.conv-rule.convert;"/>
  137.                     <menuitem value="0" label="&label.conv-rule.do-not-convert;"/>
  138.                 </menupopup>
  139.             </menulist>
  140.             <children style="display: none;"/>
  141.         </xbl:content>
  142.  
  143.         <implementation>
  144.         </implementation>
  145.         <handlers>
  146.             <handler event="DOMAttrModified">
  147.                 <![CDATA[
  148. if(event.originalTarget==this.xMenuList && event.attrName=="value") {
  149.     this.setAttribute("value",event.newValue);
  150.     this.fireEvent("ConvRuleActionChange");
  151. }
  152.  
  153. if(event.originalTarget==this && event.attrName=="value") {
  154.     this.xMenuList.value=event.newValue;
  155. }
  156.                 ]]>
  157.             </handler>
  158.         </handlers>
  159.  
  160.     </binding>
  161.  
  162.     <binding id="ConvRuleInFileWidget" extends="widgets.xml#widget">
  163.  
  164.         <xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  165.             <menulist xbl:inherits="value" editable="true" anonid="xMenuList">
  166.                 <menupopup>
  167.                     <menuitem value="flv" label="flv"/>
  168.                     <menuitem value="avi" label="avi"/>
  169.                     <menuitem value="wmv" label="wmv"/>
  170.                     <menuitem value="mpeg" label="mpeg"/>
  171.                     <menuitem value="mpg" label="mpg"/>
  172.                     <menuitem value="rm" label="rm"/>
  173.                     <menuitem value="mov" label="mov"/>
  174.                     <menuitem value="mp4" label="mp4"/>
  175.                     <menuitem value="" label="&label.conv-rule.all-files;"/>
  176.                 </menupopup>
  177.             </menulist>
  178.             <children style="display: none;"/>
  179.         </xbl:content>
  180.  
  181.         <implementation>            
  182.         </implementation>
  183.         <handlers>
  184.             <handler event="DOMAttrModified">
  185.                 <![CDATA[
  186.  
  187. if(event.originalTarget==this.xMenuList && event.attrName=="value") {
  188.     if(event.newValue==this.util.getText("label.conv-rule.all-files")) {
  189.         this.setAttribute("value","");
  190.     } else {
  191.         this.setAttribute("value",event.newValue);
  192.     }
  193. }
  194.  
  195. if(event.originalTarget==this && event.attrName=="value") {
  196.     if(event.newValue=="") {
  197.         this.xMenuList.value=event.newValue;
  198.         this.xMenuList.label=this.util.getText("label.conv-rule.all-files");
  199.     } else {
  200.         this.xMenuList.value=event.newValue;
  201.     }
  202. }
  203.                 ]]>
  204.             </handler>
  205.  
  206.             <handler event="change">
  207.                 <![CDATA[
  208. if(1 || event.originalTarget==this.xMenuList) {
  209.     if(this.xMenuList.value==this.util.getText("label.conv-rule.all-files")) {
  210.         this.setAttribute("value","");
  211.     } else {
  212.         this.setAttribute("value",this.xMenuList.value);
  213.     }
  214. }
  215.                 ]]>
  216.             </handler>
  217.  
  218.         </handlers>
  219.  
  220.     </binding>
  221.  
  222.     <binding id="ConvRuleInSiteWidget" extends="widgets.xml#widget">
  223.  
  224.         <xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  225.             <menulist xbl:inherits="value" editable="true" flex="1" anonid="xMenuList">
  226.                 <menupopup>
  227.                     <menuitem value="" label="&label.conv-rule.all-sites;"/>
  228.                 </menupopup>
  229.             </menulist>
  230.             <children style="display: none;"/>
  231.         </xbl:content>
  232.  
  233.         <implementation>            
  234.         </implementation>
  235.         <handlers>
  236.             <handler event="DOMAttrModified">
  237.                 <![CDATA[
  238.  
  239. if(event.originalTarget==this.xMenuList && event.attrName=="value") {
  240.     if(event.newValue==this.util.getText("label.conv-rule.all-sites")) {
  241.         this.setAttribute("value","");
  242.     } else {
  243.         this.setAttribute("value",event.newValue);
  244.     }
  245. }
  246.  
  247. if(event.originalTarget==this && event.attrName=="value") {
  248.     if(event.newValue=="") {
  249.         this.xMenuList.value=event.newValue;
  250.         this.xMenuList.label=this.util.getText("label.conv-rule.all-files");
  251.     } else {
  252.         this.xMenuList.value=event.newValue;
  253.     }
  254. }
  255.                 ]]>
  256.             </handler>
  257.  
  258.             <handler event="change">
  259.                 <![CDATA[
  260. if(this.xMenuList.value==this.util.getText("label.conv-rule.all-sites")) {
  261.     this.setAttribute("value","");
  262. } else {
  263.     this.setAttribute("value",this.xMenuList.value);
  264. }
  265.                 ]]>
  266.             </handler>
  267.         </handlers>
  268.  
  269.     </binding>
  270.  
  271.     <binding id="ConvRuleOutputFormatWidget" extends="widgets.xml#widget">
  272.  
  273.         <xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  274.             <vbox flex="1">
  275.                 <radiogroup anonid="xFormat">
  276.                     <hbox flex="1">
  277.                         <vbox flex="1">
  278.                             <radio value="avi" label="AVI"/>
  279.                             <radio value="mpeg" label="MPEG"/>
  280.                             <!-- radio value="psp" label="PSP" /-->
  281.                         </vbox>
  282.                         <spacer flex="1"/>
  283.                         <vbox flex="1">
  284.                             <!-- 
  285.                             <radio value="3gp" label="3GP"/>
  286.                             <radio value="ipod" label="IPOD"/>
  287.                             <radio value="iphone" label="IPHONE"/>
  288.                              -->
  289.                             <radio value="wmv" label="WMV"/>
  290.                             <radio value="mp3" label="MP3"/>
  291.                         </vbox>
  292.                     </hbox>
  293.                 </radiogroup>
  294.                 <hbox align="center" anonid="xBitratePanel">
  295.                     <label value="&label.conv-rule.bitrate;"/>
  296.                     <menulist 
  297.                         editable="true"
  298.                         flex="1" 
  299.                         anonid="xBitrate">
  300.                         <menupopup anonid="xBitrateChoices">
  301.                         </menupopup>
  302.                     </menulist>
  303.                     <label value="&label.conv-rule.kbps;"/>
  304.                 </hbox>
  305.             </vbox>
  306.             <children style="display: none;"/>
  307.         </xbl:content>
  308.  
  309.         <implementation>        
  310.             <constructor>
  311.                 <![CDATA[
  312.  
  313. this.re=/^([^\/]*)\/([^\/]*)$/i;
  314.  
  315. this.formats={
  316.     avi: {
  317.         defaultValue: "sameq",
  318.         suggestedValues: [/*"copy",*/"sameq","100","250","500","800"]
  319.     },
  320.     mpeg: {
  321.         defaultValue: "sameq",
  322.         suggestedValues: ["sameq","100","250","500","800"]
  323.     },
  324.     wmv: {
  325.         defaultValue: "sameq",
  326.         suggestedValues: ["sameq","100","250","500","800"]
  327.     },
  328.     psp: {
  329.         defaultValue: "500",
  330.         suggestedValues: ["sameq","100","250","500","800"]
  331.     },
  332.     "3gp": {
  333.         defaultValue: "100",
  334.         suggestedValues: null
  335.     },
  336.     ipod: {
  337.         defaultValue: "500",
  338.         suggestedValues: ["sameq","100","250","500","800"]
  339.     },
  340.     iphone: {
  341.         defaultValue: "500",
  342.         suggestedValues: ["sameq","100","250","500","800"]
  343.     },
  344.     mp3: {
  345.         defaultValue: "128",
  346.         suggestedValues: ["64","96","128","256"],
  347.         needRegistration: true
  348.     },
  349. };
  350.  
  351. this.bitrateStrings={};
  352. this.bitrateStrings[this.util.getText("label.bitrate.copy")]="copy";
  353. this.bitrateStrings[this.util.getText("label.bitrate.sameq")]="sameq";
  354.  
  355. this.bitrateValues={};
  356. this.bitrateValues["copy"]=this.util.getText("label.bitrate.copy");
  357. this.bitrateValues["sameq"]=this.util.getText("label.bitrate.sameq");
  358.  
  359.                 ]]>
  360.             </constructor>
  361.  
  362.             <method name="updateBitrates">
  363.                 <parameter name="format"/>
  364.                 <body>
  365.                 <![CDATA[
  366. while(this.xBitrateChoices.firstChild) {
  367.     this.xBitrateChoices.removeChild(this.xBitrateChoices.firstChild);
  368. }
  369. if(this.formats[format].suggestedValues==null) {
  370.     this.xBitratePanel.setAttribute("hidden","true");
  371. } else {
  372.     this.xBitratePanel.setAttribute("hidden","false");
  373.     for(var i=0;i<this.formats[format].suggestedValues.length;i++) {
  374.         var menuitem=document.createElement("menuitem");
  375.         this.xBitrateChoices.appendChild(menuitem);
  376.         var sv=this.formats[format].suggestedValues[i];
  377.         var svLabel=this.bitrateValues[sv];
  378.         if(svLabel==null)
  379.             svLabel=sv;
  380.         menuitem.setAttribute("value",sv);
  381.         menuitem.setAttribute("label",svLabel);
  382.     }
  383. }
  384. window.sizeToContent();
  385.                 ]]>
  386.                 </body>
  387.             </method>
  388.  
  389.             <method name="updateBitrate">
  390.                 <body>
  391.                 <![CDATA[
  392. var sv=this.xBitrate.value;
  393. var svLabel=this.bitrateValues[sv];
  394. if(svLabel==null)
  395.     svLabel=sv;
  396. this.xBitrate.value=svLabel;
  397.                 ]]>
  398.                 </body>
  399.             </method>
  400.  
  401.             <method name="getValue">
  402.                 <body>
  403.                 <![CDATA[
  404. var br=this.xBitrate.value;
  405. var tx=this.bitrateStrings[br];
  406. if(tx!=null)
  407.     br=tx;
  408. var value=this.xFormat.value+"/"+br;
  409. return value;
  410.                 ]]>
  411.                 </body>
  412.             </method>
  413.  
  414.  
  415.         </implementation>
  416.  
  417.         <handlers>
  418.             <handler event="DOMAttrModified">
  419.                 <![CDATA[
  420.  
  421.     //dump("attr "+event.originalTarget.tagName+"\n");
  422.  
  423. try {
  424.  
  425. if(event.originalTarget==this && event.attrName=="value") {
  426.  
  427.     var value=event.newValue;
  428.     if(!this.re.test(value))
  429.         value="avi/sameq";
  430.     var values=this.re.exec(value);
  431.     var format=values[1];
  432.     var bitrate=values[2];
  433.     //dump("value="+value+" format="+format+" bitrate="+bitrate+"\n");
  434.     if(this.formats[format]==null) {
  435.         format="avi";
  436.         bitrate="sameq";
  437.     }
  438.     this.updateBitrates(format);
  439.     this.xFormat.value=format;
  440.  
  441.     var tbr=this.bitrateValues[bitrate];
  442.     if(tbr==null)
  443.         tbr=bitrate;
  444.  
  445.     this.xBitrate.value=tbr;
  446.     this.updateBitrate();
  447. }
  448.  
  449. if(event.attrName=="value" && event.originalTarget==this.xFormat) {
  450.     if(event.newValue!=event.prevValue) {
  451.         var format=event.newValue;
  452.         //dump("format="+format+"\n");
  453.         if(this.formats[format].needRegistration) {
  454.             var props=this.convertMgr.getInfo();
  455.             var unregistered=props.get("unregistered",Components.interfaces.nsISupportsPRBool).data;
  456.             if(unregistered) {
  457.                 this.util.alertWarning(this.util.getText("message.converter.need-registration"));
  458.                 setTimeout(function(f,v0,b,v1) { f.value=v0; b.value=v1; },0,
  459.                     this.xFormat,event.prevValue,
  460.                     this.xBitrate,this.xBitrate.value);
  461.                 return;
  462.             }
  463.         }
  464.         this.updateBitrates(format);
  465.         this.xBitrate.value=this.formats[format].defaultValue;
  466.         this.updateBitrate();
  467.     }
  468. }
  469.  
  470. } catch(e) { }
  471.                 ]]>
  472.             </handler>
  473.  
  474.             <handler event="command">
  475.                 <![CDATA[
  476. try {
  477.  
  478.     if(event.originalTarget.parentNode.parentNode==this.xBitrate) {
  479.         var v=this.xBitrate.value;
  480.         //dump("1 value="+this.xBitrate.value+" label="+this.xBitrate.label+"\n");
  481.         var t=this.bitrateStrings[v];
  482.         if(t!=null) {
  483.             this.xBitrate.value=t;
  484.             //dump("2 value="+this.xBitrate.value+" label="+this.xBitrate.label+"\n");
  485.             this.xBitrate.label=v;
  486.             //dump("3 value="+this.xBitrate.value+" label="+this.xBitrate.label+"\n");
  487.         }
  488.     }
  489.  
  490. } catch(e) { }
  491.                 ]]>
  492.             </handler>
  493.  
  494.         </handlers>
  495.  
  496.     </binding>
  497.  
  498.     <binding id="ConvRuleOutputDirWidget" extends="widgets.xml#widget">
  499.  
  500.         <xbl:content xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  501.  
  502.             <hbox align="center">
  503.                 <label value="&label.conv-rule.output-directory;"/>
  504.                 <menulist 
  505.                     xbl:inherits="value" editable="true" 
  506.                     flex="1" 
  507.                     anonid="xMenuList">
  508.                     <menupopup>
  509.                         <menuitem value="" label="&label.conv-rule.default-directory;"/>
  510.                     </menupopup>
  511.                 </menulist>
  512.                 <button label="&button.conv-rule.change-directory;" oncommand="this.parentNode.parentNode.changeDirectory()"/>
  513.             </hbox>
  514.             <children style="display: none;"/>
  515.         </xbl:content>
  516.  
  517.         <implementation>
  518.  
  519.             <constructor>
  520.                 <![CDATA[
  521.                 ]]>
  522.             </constructor>
  523.  
  524.             <method name="changeDirectory">
  525.                 <body>
  526.                 <![CDATA[
  527. try {
  528.     var nsIFilePicker = Components.interfaces.nsIFilePicker;
  529.     var fp = Components.classes["@mozilla.org/filepicker;1"]
  530.             .createInstance(nsIFilePicker);
  531.             
  532.     var downloadMgr=Components.classes["@downloadhelper.net/download-manager;1"]
  533.         .getService(Components.interfaces.dhIDownloadMgr);
  534.  
  535.     var defaultDir=downloadMgr.getMainDir();
  536.  
  537.     var dir=this.xMenuList.getAttribute("value");
  538.     if(dir=="" || dir==this.util.getText("label.conv-rule.default-directory")) {
  539.         dir=defaultDir.path;
  540.     }
  541.     
  542.     var localDir = Components.classes["@mozilla.org/file/local;1"]
  543.                          .createInstance(Components.interfaces.nsILocalFile);
  544.  
  545.     //dump("dir="+dir+"\n");
  546.  
  547.     localDir.initWithPath(dir);
  548.     if(localDir.exists()==false || localDir.isDirectory()==false)
  549.         localDir=downloadMgr.getMainDir();
  550.         
  551.     //fp.displayDirectory=localDir.parent;
  552.     //fp.defaultString=localDir.leafName;    
  553.     fp.displayDirectory=localDir;
  554.     fp.defaultString=".";    
  555.     
  556.     //dump("displayDirectory="+localDir.parent.path+"\n");
  557.     //dump("defaultString="+localDir.leafName+"\n");    
  558.             
  559.     fp.init(window, DWHUtil.getText("prompt.select-conversion-dir"), nsIFilePicker.modeGetFolder);
  560.     var res = fp.show();
  561.     if (res == nsIFilePicker.returnOK){
  562.           var thefile = fp.file;
  563.           
  564.           var stDir=thefile.path;
  565.           
  566.           //dump("selected: "+stDir+"\n");
  567.           
  568.          var stDirFile=Components.classes["@mozilla.org/file/local;1"].
  569.             createInstance(Components.interfaces.nsILocalFile);
  570.         try {
  571.             stDirFile.initWithPath(stDir);
  572.         } catch(e) {
  573.             this.util.alertError(DWHUtil.getFText("error.cannot-create-directory",[stDir]));
  574.             return;
  575.         }
  576.         if(stDirFile.exists()) {
  577.             if(!stDirFile.isDirectory()) {
  578.                 this.util.alertError(DWHUtil.getFText("error.is-not-directory",[stDir]));
  579.                 return;
  580.             }
  581.         } else {
  582.             var r=confirm(DWHUtil.getFText("confirm.create-directory",[stDir]));
  583.             if(r==false)
  584.                 return;
  585.             try {
  586.                 stDirFile.create(Components.interfaces.nsIFile.DIRECTORY_TYPE, 0775)
  587.             } catch(e) {
  588.                 this.util.alertError(DWHUtil.getFText("error.cannot-create-directory",[stDir]));
  589.                 return;
  590.             }
  591.         }
  592.           this.xMenuList.value=thefile.path;
  593.  
  594.     }
  595. } catch(e) {
  596. }
  597.                 ]]>
  598.                 </body>
  599.             </method>
  600.  
  601.  
  602.         </implementation>
  603.         
  604.         <handlers>
  605.             <handler event="DOMAttrModified">
  606.                 <![CDATA[
  607.  
  608. if(event.originalTarget==this.xMenuList && event.attrName=="value") {
  609.     if(event.newValue==this.util.getText("label.conv-rule.default-directory")) {
  610.         this.setAttribute("value","");
  611.     } else {
  612.         this.setAttribute("value",event.newValue);
  613.     }
  614. }
  615.  
  616. if(event.originalTarget==this && event.attrName=="value") {
  617.     if(event.newValue=="") {
  618.         this.xMenuList.value=event.newValue;
  619.         this.xMenuList.label=this.util.getText("label.conv-rule.default-directory");
  620.     } else {
  621.         this.xMenuList.value=event.newValue;
  622.     }
  623. }
  624.                 ]]>
  625.             </handler>
  626.  
  627.             <handler event="change">
  628.                 <![CDATA[
  629. if(this.xMenuList.value==this.util.getText("label.conv-rule.default-directory)) {
  630.     this.setAttribute("value","");
  631. } else {
  632.     this.setAttribute("value",this.xMenuList.value);
  633. }
  634.                 ]]>
  635.             </handler>
  636.         </handlers>
  637.  
  638.     </binding>
  639.  
  640.  
  641. </bindings>
  642.